home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / programm / MM2_DEV / S / GEM / GEMGLOBA.D < prev    next >
Encoding:
Modula Definition  |  1990-10-09  |  7.4 KB  |  177 lines

  1. DEFINITION MODULE GEMGlobals;
  2.  
  3.  
  4. (*      Allgemeine Definitionen der Megamax Modula-2 GEM Library
  5.  *
  6.  *      geschrieben von Manuel Chakravarty
  7.  *
  8.  *      Version 0.11    V#0140      Erstellt März-Oktober 1987
  9.  *)
  10.  
  11.  
  12. FROM SYSTEM     IMPORT ADDRESS, WORD, BYTE, LONGWORD;
  13.  
  14. FROM GrafBase   IMPORT Point, Rectangle, WordBitSet, PtrBitPattern;
  15.  
  16.  
  17. CONST   (*  Diverses Konstanten
  18.          *)
  19.  
  20.         NoObject        = 65535;    (*  Wert für nicht vorhandene Objekte  *)
  21.  
  22.         StandardFont    = 3;        (*  Normaler Zeichensatz            *)
  23.         SmallFont       = 5;        (*  Verkleinerter Zeichensatz (6x6) *)
  24.  
  25.         MaxDepth        = 8;        (*  Maximale Such- oder Zeichentiefe für
  26.                                      *  Objektbäume ('DrawObject', 'FindObject')
  27.                                      *)
  28.         Root            = 0;        (*  Wurzelobjekt eines Objektbaumes *)
  29.  
  30.  
  31. TYPE    (*  Allgemeine Typen
  32.          *)
  33.  
  34.  
  35.         MaxStr          = ARRAY [0..255] OF CHAR;
  36.         PtrMaxStr       = POINTER TO MaxStr;
  37.  
  38.         GemChar         = RECORD
  39.                             scan : BYTE;        (*  IBM-Scancode der Taste  *)
  40.                             ascii: CHAR;        (*  Falls vorhanden, zuge-  *)
  41.                           END;                  (*  höriger ASCII-Code      *)
  42.  
  43.  
  44.                 (*  Definitionen zur Objektbehandlung  *)
  45.                 (*  =================================  *)
  46.  
  47.         ObjType         = (boxObj, textObj, boxTextObj, imageObj, progDefObj,
  48.                            iBoxObj, buttonObj, boxCharObj, stringObj, fTextObj,
  49.                            fBoxTextObj, iconObj, titleObj);
  50.  
  51.         ObjFlag         = (selectFlg, defaultFlg, selectExitFlg, editFlg,
  52.                            radioButFlg, lastObjFlg, touchExitFlg, hideTreeFlg,
  53.                            indirectFlg, flag10Flg, flag11Flg, flag12Flg,
  54.                            flag13Flg, flag14Flg, flag15Flg, flag16Flg);
  55.         OFlagSet        = SET OF ObjFlag;
  56.  
  57.         ObjState        = (selectObj, crossObj, checkObj, disableObj,
  58.                            outlineObj, shadowObj, state7Obj, state8Obj,
  59.                            state9Obj, state10Obj, state11Obj, state12Obj,
  60.                            state13Obj, state14Obj, state15Obj, state16Obj);
  61.         OStateSet       = SET OF ObjState;
  62.  
  63.         TEdInfo         = RECORD
  64.                             textPtr              : PtrMaxStr;
  65.                             tmpltPtr             : PtrMaxStr;
  66.                             validPtr             : PtrMaxStr;
  67.                             font                 : CARDINAL;
  68.                             res1                 : WORD;
  69.                             just                 : CARDINAL;
  70.                             color                : CARDINAL;
  71.                             res2                 : WORD;
  72.                             thickness            : INTEGER;
  73.                             textLen              : CARDINAL;
  74.                             tmpltLen             : CARDINAL;
  75.                           END;
  76.         PtrTEdInfo      = POINTER TO TEdInfo;
  77.  
  78.         IconBlock       = RECORD
  79.                             mask                 : PtrBitPattern;
  80.                             data                 : PtrBitPattern;
  81.                             text                 : PtrMaxStr;
  82.                             color                : BYTE;
  83.                             oneChar              : CHAR;
  84.                             charPos              : Point;
  85.                             iconFrame            : Rectangle;
  86.                             textFrame            : Rectangle;
  87.                           END;
  88.         PtrIconBlock    = POINTER TO IconBlock;
  89.  
  90.         BitBlock        = RECORD
  91.                             data                 : PtrBitPattern;
  92.                             bytes                : INTEGER;
  93.                             h                    : INTEGER;
  94.                             x                    : INTEGER;
  95.                             y                    : INTEGER;
  96.                             color                : CARDINAL;
  97.                           END;
  98.         PtrBitBlock     = POINTER TO BitBlock;
  99.  
  100.         ApplBlock       = RECORD
  101.                             code                 : ADDRESS;
  102.                             parm                 : LONGWORD;
  103.                           END;
  104.         PtrApplBlock    = POINTER TO ApplBlock;
  105.  
  106.         ObjSpec         = RECORD
  107.                             CASE :BOOLEAN OF
  108.                               FALSE :letter      : CHAR;
  109.                                      thickness   : BYTE;
  110.                                      color       : CARDINAL       |
  111.                               TRUE  :more        : ADDRESS;
  112.                             END;
  113.                           END;
  114.         PtrObjSpec      = POINTER TO ObjSpec;
  115.  
  116.         Object          = RECORD
  117.                             next                 : CARDINAL;
  118.                             head                 : CARDINAL;
  119.                             tail                 : CARDINAL;
  120.                             type                 : CARDINAL;
  121.                             flags                : WordBitSet;
  122.                             state                : WordBitSet;
  123.                             spec                 : ObjSpec;
  124.                             space                : Rectangle;
  125.                           END;
  126.         PtrObject       = POINTER TO Object;
  127.         PtrObjTree      = POINTER TO ARRAY[0..MaxCard] OF Object;
  128.  
  129.         ParmBlock       = RECORD
  130.                             tree                 : PtrObjTree;
  131.                             index                : CARDINAL;
  132.                             prevState            : WordBitSet;
  133.                             curState             : WordBitSet;
  134.                             space                : Rectangle;
  135.                             clip                 : Rectangle;
  136.                             parameter            : LONGWORD;
  137.                           END;
  138.  
  139.  
  140.                 (*  Typen für die Eingabeoperationen  *)
  141.                 (*  ================================  *)
  142.  
  143.         MouseButton     = (msBut1, msBut2, msBut3, msBut4, msBut5, msBut6,
  144.                            msBut7, msBut8);
  145.         MButtonSet      = SET OF MouseButton;
  146.  
  147.         SpecialKey      = (rightShiftKey, leftShiftKey, controlKey,
  148.                            alternateKey);
  149.         SpecialKeySet   = SET OF SpecialKey;
  150.  
  151.  
  152.                 (*  Typen für die Ausgabeoperationen  *)
  153.                 (*  ================================  *)
  154.  
  155.         LineType        = (solidLn, longDashLn, dottedLn, dashDotLn, dashedLn,
  156.                            dashDotDotLn, userLn);
  157.  
  158.         LineEnding      = (edgedLn, arrowedLn, roundedLn);
  159.  
  160.         MarkerType      = (pointMark, plusMark, starMark, squareMark, crossMark,
  161.                            diamondMark);
  162.  
  163.         TextEffect      = (thickText, lightText, slantText, underlineText,
  164.                            outlineText, shadowText);
  165.         TEffectSet      = SET OF TextEffect;
  166.  
  167.         TVertJust       = (baseJust, halfJust, ascentJust, bottomJust,
  168.                            descentJust, topJust);
  169.  
  170.         THorJust        = (leftJust, centerJust, rightJust);
  171.  
  172.         FillType        = (hollowFill, solidFill, dottPattern, hatchPattern,
  173.                            userPattern);
  174.  
  175.  
  176. END GEMGlobals.
  177.